Client = null;
Server = {};

// Εμπλουτίζουμε με απλές δομές και μεθόδους που θα μας βοηθήσουν στην
// εκτύπωση μηνυμάτων προόδου των εργασιών του παρόντος κλπ.

require('./log.js');
Log.print('reading "log" module');

Log.level.push('reading node system modules');
	Log.print('reading file system module');
	FS = require('fs');

	Log.print('reading MySQL module');
	MYSQL = require('/usr/local/lib/node_modules/mysql');

	Log.print('reading url module');
	URL = require('url');

	Log.print('reading http module');
	HTTP = require('http');
Log.level.pop();

// Εμπλουτίζουμε με δομές και μεθόδους που είναι κοινές σε server και client, και
// αφορούν σε JavaScript functions γενικής χρήσης.

Log.print('reading common "globals" module');
require('../client/common/globals.js');

// Εμπλουτίζουμε με δομές και μεθόδους που αφορούν σε JavaScript functions γενικής
// χρήσης του server.

Log.print('reading server "globals" module');
require('./globals.js');

// Εμπλουτίζουμε με δομές και μεθόδους που είναι απαραίτητες για την επαφή μας με την
// database της εφαρμογής.

Log.print('reading database access module');
require('./db.js');

// Εμπλουτίζουμε με δομές και μεθόδους που είναι κοινές σε server και client, και
// αφορούν στον «Πρεφαδόρο».

Log.print('reading common "prefadoros" module');
require('../client/common/prefadoros.js');

// Εμπλουτίζουμε με δομές και μεθόδους που είναι κοινές σε server και client και
// αφορούν στη διαμόρφωση και στον χειρισμό του σκηνικού.

Log.print('reading common "skiniko" module');
require('../client/common/skiniko.js');

// Εμπλουτίζουμε με δομές και μεθόδους που αφορούν στη διαμόρφωση και στο χειρισμό
// του σκηνικού ειδικά από την πλευρά του server.

Log.print('reading server "skiniko" module');
require('./skiniko.js');

/*
// Εμπλουτίζουμε με δομές και μεθόδους που είναι κοινές σε server και client και
// αφορούν στο στήσιμο της παρτίδας.

Log.print('reading common "stisimo" module');
require('../client/common/stisimo.js');

// Εμπλουτίζουμε με δομές και μεθόδους που είναι κοινές σε server και client και
// αφορούν στα παιγνιόχαρτα, στις χαρτωσιές, στην τράπουλα κλπ.

Log.print('reading common "trapoula" module');
require('../client/common/trapoula.js');

// Εμπλουτίζουμε με δομές και μεθόδους που  αφορούν στα παιγνιόχαρτα, στις χαρτωσιές,
// στην τράπουλα κλπ, και είναι ιδιαίτερες για το server και μόνο.

Log.print('reading server "trapoula" module');
require('../server/trapoula.js');

// Εμπλουτίζουμε με δομές και μεθόδους που είναι κοινές σε server και client και
// αφορούν στο παιχνίδι, δηλαδή δηλώσεις, αγορές, μπάζες, αξίες κλπ.

Log.print('reading common "pexnidi" module');
require('../client/common/pexnidi.js');
*/

// Εμπλουτίζουμε με δομές και μεθόδους που αφορούν στον τρόπο με τον οποίο εκκινούν οι
// υπηρεσίες που παρέχει ο παρών server.

Log.print('reading server module');
require('./server.js');

// Εμπλουτίζουμε με δομές και μεθόδους που αφορούν στον κύκλο τακτικού ελέγχου εργασιών.

Log.print('reading "peripolos" module');
require('./peripolos.js');

// Αναπροσαρμόζουμε διάφορες παραμέτρους, στήνουμε το σκηνικό και μπαίνουμε σε κατάσταση
// ετοιμότητας. Όλα αυτά θα γίνουν αλυσιδωτά, εκκινώντας με την "Server.ekinisi"
// και συνεχίζοντας με callbacks, λόγω της ασύγχρονης φύσης του Node.

Server.ekinisi();
